package com.tanhua.dubbo.api;

import com.tanhua.model.db.CalculateScore;
import com.tanhua.model.db.SubmitTheQuestionnaire;
import com.tanhua.model.db.Testsoul;
import com.tanhua.model.vo.TestSoulReportVO;

import java.util.List;

public interface TestSoulApi {
    /**
     * questionOptionzzz
     * @param testsoulGrau
     * @return
     */
    Testsoul findTestSoul(String testsoulGrau, Testsoul questionnaire);

    /**
     * 将数据计算并保存到数据库中，并根据分数设置用户的类型；
     * @param answers
     * @return
     */
    String calculateScore(CalculateScore answers,Long userId);

    /**
     * 查询用户灵魂类型
     * @param id
     * @return
     */
    SubmitTheQuestionnaire findById(String id);

    /**
     * 查询用户灵魂信息
     * @param userType
     * @param achievement
     * @return
     */
    TestSoulReportVO report(String userType, Integer achievement);

    /**
     * 查询用户的type相同的用户id列表
     * @param userType
     * @return
     */
    List<Long> findSameTypeIds(String userType);
}
